package com.kronos.gamestates;

import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.kronos.game.KronosGame;
import com.kronos.gui.Canvas;
import com.kronos.managers.GameStateManager;

public abstract class GameState {

	protected GameStateManager gsm; 
	protected KronosGame game;
	protected Canvas canvas;
	protected OrthographicCamera cam, hudCam;
	protected SpriteBatch sb;

	public GameState(GameStateManager gsm) {
		 this.gsm = gsm;
		 this.game = gsm.game();
		 this.sb = game.getSpriteBatch();
		 this.cam = game.getCamera();
		 this.hudCam = game.getHudCamera();
		 this.canvas = game.getCanvas();
	}
	
	public abstract void update();
	public abstract void render();
	public abstract void dispose();
}
